package com.redxiii.spike.pmi.commons;

import java.io.Serializable;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.redxiii.spike.api.command.Command;

/**
 * @author Daniel Filgueiras
 * @since 19/06/2011
 */
public class PmiSettings implements Serializable {

	private static final long serialVersionUID = 1L;
	
	public static enum DBType {
		PosgreSql,
		MySql
	}
	
	private long lastStartTime;
	private boolean autoLoginOnly;
	
	private DBType	dbType;
	private String	dbHost;
	private String	dbName;
	private String	dbLogin;
	private String	dbPassword;
	
	private List<Class<? extends Command>> cmdClasses;
	private Map<String,String> properties = new HashMap<String, String>();
	
	
	public DBType getDbType() {
		return dbType;
	}
	public void setDbType(DBType dbType) {
		this.dbType = dbType;
	}
	public long getLastStartTime() {
		return lastStartTime;
	}
	public void setLastStartTime(long lastStartTime) {
		this.lastStartTime = lastStartTime;
	}
	public String getDbHost() {
		return dbHost;
	}
	public void setDbHost(String dbHost) {
		this.dbHost = dbHost;
	}
	public String getDbName() {
		return dbName;
	}
	public void setDbName(String dbName) {
		this.dbName = dbName;
	}
	public String getDbLogin() {
		return dbLogin;
	}
	public void setDbLogin(String dbLogin) {
		this.dbLogin = dbLogin;
	}
	public String getDbPassword() {
		return dbPassword;
	}
	public void setDbPassword(String dbPassword) {
		this.dbPassword = dbPassword;
	}
	public boolean isAutoLoginOnly() {
		return autoLoginOnly;
	}
	public void setAutoLoginOnly(boolean autoLoginOnly) {
		this.autoLoginOnly = autoLoginOnly;
	}
	
	public List<Class<? extends Command>> getCmdClasses() {
		return cmdClasses;
	}
	public Map<String, String> getProperties() {
		return properties;
	}
	public void setProperties(Map<String, String> properties) {
		this.properties = properties;
	}
}
